package day03;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

//HttpSession
public class A06_服务端会话管理技术 extends HttpServlet {
    /**
     * 就是一个服务端的会话对象,用于存储用户的会话数据
     *
     * 1.HttpSession   是一个域对象 会话域
     *      域对象:  一个区域
     *      一次会话的时候这个域对象中的数据可以共享
     *
     *  作业:
     *      写一个登陆的表单点击登陆之后请求一个Servelt(LoginServlet)
     *      在这个Servler中获取用户名和密码,将用户名和密码存到会话域中
     *      在浏览器发送一个请求,发到另外一个Servlet上去(IndexServlet)
     *      在这个Servlet中: 从会话域中获取到刚才存的用户名和密码,然后响应给
     *      浏览器一句话"欢迎你: 用户名 和 密码"
     *      分析: 1).创建LoginServlet类  getParameter()
     *           2).保存到会话域中,获取HttpSession实现类对象  setAttribute
     *           3).创建IndexServlet类
     *           4).获取HttpSession,通过getAttribute取出来
     *           5).响应到浏览器
     *
     */
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取HttpSession实现类对象
        //HttpServletRequest中的方法 public HttpSession getSession()
        HttpSession session = req.getSession();
        //向 session(会话域) 中存储一个数据
        session.setAttribute("username","baobao");
        //从会话域中获取数据
        Object username = session.getAttribute("username");
        System.out.println(" username "+username);
        resp.getOutputStream().write(username.toString().getBytes());

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              doGet(req, resp);
    }
}
